Gemini サンプル全部見る
GoogleCloudPlatform/generative-ai
getting-started/
基本的な呼び出し方
generate_content 呼ぶ
model parameters
temprature
候補から選択する際のランダム度合い
温度 0 は決定的で、確率が最も高いレスポンスが常に選択されます。
candidate_count
max_output_tokens
chat
image
Describe this image? や Describe the scene? で画像の中身を説明させる
複数の画像とプロンプトを渡す & 画像にテキストで情報渡してる
code:multimodal.py
image1 = load_image_from_url(image1_url)
image2 = load_image_from_url(image2_url)
image3 = load_image_from_url(image3_url)
# Prepare prompts
prompt1 = """{"city": "London", "Landmark:", "Big Ben"}"""
prompt2 = """{"city": "Paris", "Landmark:", "Eiffel Tower"}"""
# Prepare contents
これで 3つめの画像の city と landmark を返す
video から内容を返す
これ JSON に整形できてるのなんで
sample-apps/
streamlit で Cloud Run にデプロイする
streamlit 自体はいいのだが Websocket 要求するのでダルく Run 選ぶという感じがあり...
HarmCategory の設定
prompt 入力したり画像選べる demo アプリて感じやな
use-cases/
intro_multimodal_use_cases
Multimodal use cases
プロンプト+ フルーツの画像 + 価格リストの画像 で値段を計算
画像から時計をリセットする手順を聞く
ER 図を説明させる
複数の眼鏡の画像からおすすめを聞く
2つの画像を渡してにているところと違いを聞く
プロンプトの渡し方、['指示 + Image1:', image1, "Image2:", image2, "指示"] て感じ
動画渡して説明させる、場所の候補を5つ挙げさせる
動画のタグ付け
Pixel8 の CM 動画渡して JSON で説明させる
education/
恐竜が滅んだ理由、フランスが冬でオーストラリアが夏な理由など聞く
子供向けの説明を求める、仮説を挙げさせる
説明を複数言語に同時に翻訳する
retail/
リビングの写真を渡しておすすめの椅子を聞く、色合いと素材でまあ納得行く
retrival-augmented-generation
utils/intro_multimodal_rag_utils.py を urllib で GitHub からダウンロードしてきて import してる
PDF からの情報抽出
テーブルなら中身を取り出す、グラフなら説明させる、画像に含まれてない数字は含めない
get_document_metadata
pdf は fitz.Document で開いてる
それぞれのページに get_chunk_text_metadata を呼ぶ
ページ中の text 読む / embedding 計算する
get_text_overlapping_chunk
テキストを一定文字ごとに分ける & 一部オーバーラップさせる
1000文字ずつに分けて次のは 900 文字目からスタート
これの chunk ごとの embedding も計算する
各ページの画像を取り出す
画像の説明を生成させる
画像の embedding を計算する
画像は base64 encode してリクエスト
画像のみ & 画像 + 説明テキスト(先頭1000文字) に対してそれぞれ計算
ここは multimodalembedding@001
text search
get_similar_text_from_query
get_user_query_text_embedding 呼んで query の embedding を得る
query と text のコサイン類似度計算
top n のテキストを取って整形
text から画像を検索
入力クエリを embedding にしてコサイン距離の近いもの
image から image を検索
表のスクショから似た表の画像が見つかっている & 同じ Cost & Revenue の表
画像渡して似た画像を探しつつ解説させる
画像の周辺のテキストも渡す
RAG のデモ
クエリに合うテキストチャンクと画像を取得
context_text, context_image として Gemini にわたす
単にプロンプトに "text_context: ..." の形で渡してる
説明させつつ citation を出力する
print_text_to_image_citation
特別なことはしてなくて chunk の情報 print してる
選ぶ部分はコサイン距離のままなわけね
function-calling/
天気予報を取得して解答するデモ
FunctionDeclaration に説明とパラメータ定義を渡す
複雑なAPI呼べる例
チャットでやる例
複数関数渡す
get_product_sku / get_store_location / place_order
Pixel8 の在庫を聞く → SKU と在庫を返す → Mauntain View の近くで買える店はどこ → 店の場所返す → オーダーする
responsible-ai/
safety_rating 出す
setup-env/
LLM は現在時刻も答えられない奴らなので function calling で時計持たせたい
Generative Language API もある
API Scope
API_KEY を要求するやつを ADC に寄せれないか ドキュメント
ユースケースの項がよい
google/models/multimodalembedding@001 は?